/**************************************************************************
 * @doc User Interface
 * @module PASSWD.H |  
 * Header file for handling password access.
 *
 * Product     :   SoftPay 2000 (Global Payment Methodology).
 * <nl>Developer   :   SoftPay Development Team (I_SP2000).
 * <nl>Notes       :
 *
 * @head3 UI Functions |
 * @index | UI
 * @end
 *
 * Copyright (c) 1996-2000 by VeriFone Inc. All rights reserved.
 * 
 * No part of this software may be used, stored, compiled, reproduced,
 * modified, transcribed, translated, transmitted, or transferred, in any form 
 * or by any means whether electronic, mechanical, magnetic, optical, 
 * or otherwise, without the express prior written permission of VeriFone, Inc.
 *
 * Revision History
 * ------------------------------------------------------------------------
 $Log: /SoftPay/SPK2SIM/Source/Include/passwd.h $
 * 
 * 10    3/22/00 1:46p Kevin_v1
 * Cleanup PW functionality.
 * 
 * 9     3/19/00 7:26p Jim_b4
 * 
 * 8     3/17/00 11:45p Kevin_v1
 * Modify Clear Clerk Totals to process by Merchant.  Added PW processing
 * to prevent multiple PW prompting on single operation/transactions.
 * 
 * 7     3/16/00 6:34p Jim_b4
 * Code security functionality added
 * 
 * 6     3/10/00 9:58a Kevin_v1
 * Replace  base function ininput() and usage with  inEnterWithMessage ().
 * 
 * 5     1/27/00 6:06p Kevin_v1
 * Modifed below overload functions to use FlexiRec/Field ID overload
 * scheme
 * 
 * void vdOverLoadSetTransFieldsFunc (int (*inNewSetTransFieldsFunc)())
 * void vdOverLoadInitValidationFunc (void
 * (*vdNewProcessInitValidationFunc)())
 * void vdOverLoadAccessFunction (int (*inNewCustomAccessFunc)())
 * void vdOverLoadModifyBatchRecFunc (int (*inNewModifyBatchRecFunc)())
 * void vdOverLoadDemoFunction (void (*inNewDemoModeFunction)())
 * 
 * 4     10/28/99 2:36p Monique_b1
 * Added custom access functionality
 * ------------------------------------------------------------------------
 ********************************************************************************/
#ifndef PASSWD_H
#define PASSWD_H

#define SUPER_PW                1
#define MAN_PW                  2
#define BOTH_PW                 (SUPER_PW + MAN_PW)

void 	vdSetPWSecurityLevel ( int inPasswordLevel );
int		inGetPWSecurityLevel (void);
int		inCheckPWSecurityLevel ( int inPasswordLevel );
int 	inGetPassword(long lnMessage, char *pszBuffer);
int 	inValidatePwdMin(char *szInputPwd);
int 	inValidateSuperPwd(char *pszInputPwd);
int 	inValidateManagerPwd(char *pszInputPwd);
int 	inGetPwdFromUser(int inPasswordLevel, int inPITIndex);
int 	inCustomAccessFunction (void);
int 	inDefaultAccessFunction (void);

int 	PASSWD_CODE_CHECK(char * a,char *b,short *  c,char * d,unsigned char * e);

#endif


